﻿@using Sovigaz
@{
    ViewBag.Title = "Chi tiết khách hàng";
    var url = Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/');
}
<script>
    app.controller('PartnerController', function ($scope, $compile, $http, $filter, service) {    

        $scope.loadLocation= function () {
            var url = '@url' + '@Url.Action("LocationApi", "Api")';
            $http.get(url)
                .success(function (data) {
                    $scope.locations.length=0;
                    $scope.locations.push({"name":"-Select One-","value":0});
                    for (var i = 0; i < data.length; i++) {
                        $scope.locations.push({"name":data[i].LocationName,"value":data[i].LocationID});
                    }     
                })
                .error(function (data) {
                    service.showModal($scope, $compile, 'error', data);
                });
        };

        $scope.load = function () {
            startloading($('#content'));

            var url = '@url' + '@Url.Action("PartnerApi", "Api", new {id = Model})';
            
            $http.get(url)
                .success(function (data) {
                    $scope.partner = data;
                    $scope.location = { name: '', value: data.LocationID };
                    stoploading($('#content'));
                })
                .error(function (data) {
                    stoploading($('#content'));
                    service.showModal($scope, $compile, 'error', data);
                });
        };

        $scope.lostFocus = function () {
            $scope.partner.ContactName1=$scope.partner.Representer;
        };

        $scope.refresh = function () {
            $scope.load();
        };

        $scope.add = function () {
            window.location = '@Url.Action("Detail", "Partner", new { id = String.Empty })';
        };

        $scope.save = function () {
            $scope.partner.LocationID=$scope.location.value;
            if($scope.form.$valid)
            {
                $scope.partner.LocationID=$scope.location.value;
                var url = '@url' + '@Url.Action("PartnerApi", "Api")';
                $http.put(url, $scope.partner)
                    .success(function(data) {
                        if (@Model == 0) {
                            window.location = '@Url.Action("Detail", "Partner")/' + data.PartnerID;
                        }
                        $scope.partner = data;

                        stoploading($('#content'));
                        service.showModal($scope, $compile, 'notify', 'Lưu thông tin khách hàng thành công');
                    })
                    .error(function(data) {
                        stoploading($('#content'));
                        service.showModal($scope, $compile, 'error', data);
                    });
            }
            else service.showModal($scope, $compile, 'error', "Vui lòng nhập đầy đủ và chính xác thông tin Khách Hàng");
        };

        $scope.confirmDelete = function () {
            service.showModal($scope, $compile, 'confirm', 'Bạn có chắc chắn muốn xóa dữ liệu?', 'delete()');
        };

        $scope.delete = function () {
            var url = '@url' + '@Url.Action("PartnerApi", "Api")';
            $http.delete(url, {
                params: {
                    id: $scope.partner.PartnerID
                }
            }).success(function (data) {
                stoploading($('#content'));
                window.location = '@Url.Action("Detail", "Partner", new { id = String.Empty })';
            }).error(function (data) {
                stoploading($('#content'));
                service.showModal($scope, $compile, 'error', data);
            });
        };

        $scope.back = function () {
            window.location = '@Url.Action("Index", "Partner")';
        };


        $scope.locations = [{}];
        $scope.loadLocation();
        $scope.load();
    });

    $(function () {
        $("[data-toggle=tooltip]").tooltip();
    });
</script>

<div ng-controller="PartnerController">
    @Html.Partial("_PageHeader")
    <div class="row">
    <div class="toolbar">
        @if (Utilities.ConvertUtility.BoolParse(ViewBag.InsertPermission))
        {
            <button class="btn btn-primary btn-sm" type="button" ng-click="add()">
                <i class="fa fa-plus fa-fw"></i> Thêm mới
            </button>
        }

        @if (Utilities.ConvertUtility.BoolParse(ViewBag.InsertPermission))
        {
            <button class="btn btn-primary btn-sm" type="button" ng-click="save()">
                <i class="fa fa-floppy-o fa-fw"></i> Lưu
            </button>            
        }        

        @if (Utilities.ConvertUtility.BoolParse(ViewBag.BackEnable))
        {
            <button class="btn btn-primary btn-sm" type="button" ng-click="back()">
                <i class="fa fa-chevron-circle-left fa-fw"></i> Trở lại
            </button>
        }
    </div>
</div>
    <div id="content" class="content row">
        <form role="form" name="form" autocomplete="off">
            <div class="panel-body">
                <div class="col-lg-2">
                    @Html.Partial("Control/_Control_TextBox_Required", new Dictionary<string, string>
                    {
                        {"Text", "Mã khách hàng"},
                        {"Model", "partner.PartnerCode"},
                        {"Name", "partnerCode"},
                        {"Message", "Mã khách hàng bắt buộc"},
                        {"MaxLength","15"}
                    })
                </div>
                <div class="col-lg-4">
                    @Html.Partial("Control/_Control_TextBox_Required", new Dictionary<string, string>
                    {
                        {"Text", "Tên khách hàng"},
                        {"Model", "partner.PartnerName"},
                        {"Name", "partnerName"},
                        {"Message", "Tên khách hàng bắt buộc"},
                        {"MaxLength","30"}
                    })
                </div>
                <div class="col-lg-2">
                    @Html.Partial("Control/_Control_ComboBox", new Dictionary<string, string>
                    {
                        {"Text", "Khu vực"},
                        {"Model", "location"},
                        {"Name", "location"},
                        {"Options", "location.name for location in locations track by location.value"}
                    })
                </div>
                <div class="col-lg-4" style="clear: both">
                    @Html.Partial("Control/_Control_TextBox_Required", new Dictionary<string, string>
                    {
                        {"Text", "Người đại diện"},
                        {"Model", "partner.Representer"},
                        {"Name", "representer"},
                        {"Message", "Tên người đại diện bắt buộc"},
                        {"MaxLength","30"},
                        {"Blur","lostFocus()"}
                    })
                </div>
                <div class="col-lg-4">
                    @Html.Partial("Control/_Control_TextBox_Required", new Dictionary<string, string>
                    {
                        {"Text", "Vai trò"},
                        {"Model", "partner.Role"},
                        {"Name", "role"},
                        {"Message", "Vai trò người đại diện diện bắt buộc"},
                        {"MaxLength","30"}
                    })
                </div>
                <div class="col-lg-4" style="clear: both">
                    @Html.Partial("Control/_Control_TextBox_Required", new Dictionary<string, string>
                    {
                        {"Text", "Địa chỉ 1"},
                        {"Model", "partner.Address1"},
                        {"Name", "address1"},
                        {"Message", "Địa chỉ 1 bắt buộc"},
                        {"MaxLength","50"}
                    })
                </div>
                <div class="col-lg-4">
                    @Html.Partial("Control/_Control_TextBox", new Dictionary<string, string>
                    {
                        {"Text", "Địa chỉ 2"},
                        {"Model", "partner.Address2"},
                        {"Name", "address2"},
                        {"MaxLength","50"}
                    })
                </div>
                <div class="col-lg-4" style="clear: both">
                    @Html.Partial("Control/_Control_TextBox_Required", new Dictionary<string, string>
                    {
                        {"Text", "Người liên hệ 1"},
                        {"Model", "partner.ContactName1"},
                        {"Name", "contactName1"},
                        {"Message", "Người liên hệ 1 bắt buộc"},
                        {"MaxLength","30"}
                    })
                </div>
                <div class="col-lg-4">
                    @Html.Partial("Control/_Control_TextBox", new Dictionary<string, string>
                    {
                        {"Text", "Người liên hệ 2"},
                        {"Model", "partner.ContactName2"},
                        {"Name", "contactName2"},
                        {"MaxLength","30"}
                    })
                </div>
                <div class="col-lg-4" style="clear: both">
                    @Html.Partial("Control/_Control_TextBox_Required", new Dictionary<string, string>
                    {
                        {"Text", "Số điện thoại người liên hệ 1"},
                        {"Model", "partner.Phone1"},
                        {"Name", "phone1"},
                        {"Message", "SĐT 1 bắt buộc"},
                        {"MaxLength","15"},
                        {"Input","Number"}
                    })
                </div>
                <div class="col-lg-4">
                    @Html.Partial("Control/_Control_TextBox", new Dictionary<string, string>
                    {
                        {"Text", "Số điện thoại người liên hệ 2"},
                        {"Model", "partner.Phone2"},
                        {"Name", "phone2"},
                        {"MaxLength","15"},
                        {"Input","Number"}
                    })
                </div>
                
                <div class="col-lg-8" style="clear: both">
                    @Html.Partial("Control/_Control_TextArea", new Dictionary<string, string>
                    {
                        {"Text", "Ghi chú"},
                        {"Model", "partner.Description"},
                        {"Name", "description"}
                    })
                </div>                
            </div>
        </form>
    </div>
</div>